package eleventh.StringBuffer类;

public class StringBuffer类的应用 {
    public static void main(String[] args) {
        // 不断修改对象的引用来实现字符串的结果
        String s = "AAA";
        for (int i = 0; i < 9; i++) {
            s += i;   // 不断修改对象的引用 --> 性能很差
            System.out.println(s);
        }
        // 用StringBuffer来解决性能问题
        StringBuffer sb = new StringBuffer();
        for (int i = 9; i >0 ; i--) {
            sb.append(i);   //性能提高
            System.out.println(sb);
        }
    }
}
/**
 * StringBuilder类
 * 在JDK1.5之后，Java增加了新的字符串操作类，即StringBuilder类
 * 他们定义的方法相同，但是打开Java源代码会发现
 * 在StringBuffer类中定义的方法全部使用synchronized进行同步定义，而StringBuilder没有
 * 所以StringBuilder方法都是异步方法
 */

/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=52775:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 eleventh.StringBuffer类.StringBuffer类的应用
AAA0
AAA01
AAA012
AAA0123
AAA01234
AAA012345
AAA0123456
AAA01234567
AAA012345678
9
98
987
9876
98765
987654
9876543
98765432
987654321

Process finished with exit code 0
 */